package com.cskaoyan.javase.array._5operation._3crud.judge;
/**
 * 在使用equals方法比较字符串内容的时候
 * 字符串常量对象/字符串引用.equals(字符串常量对象/字符串引用)
 * 尤其需要注意,如果是用一个引用去调用该方法
 * 一定要注意防止这个引用等于null,因为会出现空指针异常
 *
 * 避免的方法:
 *      1.if判断,如果引用等于null,那就不去调用方法(最常用的,最普遍适用的方法)
 *      2.考虑equals方法的特殊性,String的特殊性
 *          可以使用一个字符串常量来调用equals方法,这样就永远不会空指针异常
 *          如果不能用字符串常量调用方法
 *              那就尽量把一个绝对不可能等于null的引用,放在左边调用方法
 *              这是因为String类的equals方法具有对称性
 *              a.equals(b)和b.equals(a)效果一模一样
 *
 * @since 17:02
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        String str = null;
        System.out.println("123".equals(str));
        // 在实际开发中以下写法很常见
        // 比如判断某个字符串是不是空的字符串
        // str.equals("") 这种写法不合适
        System.out.println("".equals(str));
    }
}
